﻿#include "FITKAbaInteractionContactNormalBehavior.h"


Interface::FITKAbaInteractionContactBehaviorEnum::FITKAbaContactBehaviorType Interface::FITKAbaInteractionContactNormalBehavior::getBehaviorType() const
{
    return FITKAbaInteractionContactBehaviorEnum::FITKAbaContactBehaviorType::NormalHehavior;
}


namespace Interface {
    FITKAbaInteractionContactEnum::PressureOverclosure FITKAbaInteractionContactNormalBehavior::getPressureOverclosure() const
{
    return m_pressureOverclosure;
}

void FITKAbaInteractionContactNormalBehavior::setPressureOverclosure(FITKAbaInteractionContactEnum::PressureOverclosure newPressureOverclosure)
{
    m_pressureOverclosure = newPressureOverclosure;
    //不是硬接触时，Constraint enforce method 为 default
    if (m_pressureOverclosure != FITKAbaInteractionContactEnum::PressureOverclosure::HardContact)
        m_constraintEnforcementMethod = FITKAbaInteractionContactEnum::ConstraintEnformentMethod::Default;
}

FITKAbaInteractionContactEnum::ConstraintEnformentMethod FITKAbaInteractionContactNormalBehavior::getConstraintEnforcementMethod() const
{
    return m_constraintEnforcementMethod;
}

void FITKAbaInteractionContactNormalBehavior::setConstraintEnforcementMethod(FITKAbaInteractionContactEnum::ConstraintEnformentMethod newConstraintEnforcementMethod)
{
    m_constraintEnforcementMethod = newConstraintEnforcementMethod;
}

bool FITKAbaInteractionContactNormalBehavior::getAllowSeparationAfterContact() const
{
    return m_allowSeparationAfterContact;
}

void FITKAbaInteractionContactNormalBehavior::setAllowSeparationAfterContact(bool newAllowSeparationAfterContact)
{
    m_allowSeparationAfterContact = newAllowSeparationAfterContact;
}

double FITKAbaInteractionContactNormalBehavior::getPressureWhenClearance0() const
{
    return m_pressureOfClearance0;
}

void FITKAbaInteractionContactNormalBehavior::setPressureWhenClearance0(double pressure)
{
    m_pressureOfClearance0 = pressure;
}

double FITKAbaInteractionContactNormalBehavior::getClearanceWhenPressure0() const
{
    return m_clearanceOfPressure0;
}

void FITKAbaInteractionContactNormalBehavior::setClearanceWhenPressure0(double clearance)
{
    m_clearanceOfPressure0 = clearance;
}

}
